using System;
using System.Data;
using System.ComponentModel;
using System.Reflection;
using System.Collections.Generic;

namespace VSSAHT.Transfer
{
	[Serializable]
	public class RequireNumberDTOBase : DTOBase
	{
		#region Property LimitNumber

		private int _limitNumber;

		/// <summary>
		///  Property LimitNumber
		/// <summary>
		public int LimitNumber
		{
			get
			{
				return _limitNumber;
			}

			set
			{
				if (_limitNumber != value)
				{
					this.OnLimitNumberChanging(value);
					_limitNumber = value;
					this.OnLimitNumberChanged();
					OnChanged();
				}
			}
		}

		#endregion

        #region Property RemainNumber

        private int _remainNumber;

        /// <summary>
        ///  Property LimitNumber
        /// <summary>
        public int RemainNumber
        {
            get
            {
                return _remainNumber;
            }

            set
            {
                if (_remainNumber != value)
                {
                    this.OnLimitNumberChanging(value);
                    _remainNumber = value;
                    this.OnLimitNumberChanged();
                    OnChanged();
                }
            }
        }

        #endregion

		#region Property RequireCode

		private string _requireCode;

		/// <summary>
		///  Property RequireCode
		/// <summary>
		public string RequireCode
		{
			get
			{
				return _requireCode;
			}

			set
			{
				if (_requireCode != value)
				{
					this.OnRequireCodeChanging(value);
					_requireCode = value;
					this.OnRequireCodeChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RequireID

		private Guid _requireID;

		/// <summary>
		///  Property RequireID
		/// <summary>
		public Guid RequireID
		{
			get
			{
				return _requireID;
			}

			set
			{
				if (_requireID != value)
				{
					this.OnRequireIDChanging(value);
					_requireID = value;
					this.OnRequireIDChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RequireName

		private string _requireName;

		/// <summary>
		///  Property RequireName
		/// <summary>
		public string RequireName
		{
			get
			{
				return _requireName;
			}

			set
			{
				if (_requireName != value)
				{
					this.OnRequireNameChanging(value);
					_requireName = value;
					this.OnRequireNameChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RowVersion

		private string _rowVersion;

		/// <summary>
		///  Property RowVersion
		/// <summary>
		public string RowVersion
		{
			get
			{
				return _rowVersion;
			}

			set
			{
				if (_rowVersion != value)
				{
					this.OnRowVersionChanging(value);
					_rowVersion = value;
					this.OnRowVersionChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Extensibility Method Declarations

		protected virtual void OnLimitNumberChanging(int limitNumber) { }
		protected virtual void OnLimitNumberChanged() { }
		protected virtual void OnRequireCodeChanging(string requireCode) { }
		protected virtual void OnRequireCodeChanged() { }
		protected virtual void OnRequireIDChanging(Guid requireID) { }
		protected virtual void OnRequireIDChanged() { }
		protected virtual void OnRequireNameChanging(string requireName) { }
		protected virtual void OnRequireNameChanged() { }
		protected virtual void OnRowVersionChanging(string rowVersion) { }
		protected virtual void OnRowVersionChanged() { }

		#endregion

	}
}
